12.4.3 for-selectループ
select文はfor`ループの中に埋め込まれることがよくある
switch文と同様に、select文もdefault節を持つことができる。読み込みあるいは書き込みができるチャネルがない場合に選択される
code:go
for {
select {
case v := <-ch:
fmt.Println("chから読み込み:", v)
default:
fmt.Println("chから読み込める値はなし")
}
}
ただし、defaultがあると待ちが発生しないので、それが意図的であるか注意が必要